package pe.gob.osce.sirenas.model.jpa;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="DET_ADM_INCIDENCIAS",schema="RNAS")
@SequenceGenerator(name="SQ_ID_INCIDENCIAS",sequenceName="RNAS.SQ_ID_INCIDENCIAS", allocationSize=1)
public class Incidencias implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -8236992224229617893L;
	@Id
	@GeneratedValue(strategy =	GenerationType.SEQUENCE, generator="SQ_ID_INCIDENCIAS")
	@Column(name="N_ID_INCIDENCIA")
	private Long idIncidencia;	
	@Column(name="N_ID_FICHA")
	private Long idFicha;		
	@Column(name="N_ID_ESTADO")
	private Long idEstadoIncidencia;	
	@Column(name="N_ID_MOTIVO")	
	private Long idMotivoIncidencia;	
	@Column(name="C_NRO_RESOLUCION")	
	private String  numeroResolucion;	
	@Column(name="D_FEC_RESOLUCION")	
	private Date  fecResolucion;	
	@Column(name="C_NOM_ARCHIVO_RESO")	
	private String  archivoResolucion;	
	@Column(name="C_OBS_INCIDENCIA")	
	private String  observacionIncidencia;	
	@Column(name="D_FEC_INICIO")	
	private Date   fechaInicio;	
	@Column(name="D_FEC_FIN")	
	private Date   fechaFin;	
	
	
	@Column(name="N_IND_ESTADO")
	private Long estado;

	@Embedded
	private Auditoria auditoria;

	/**
	 * Metodo que permite obtener idIncidencia.
	 * @return idIncidencia , tipo Long.
	 */
	public Long getIdIncidencia() {
		return idIncidencia;
	}

	/**
	 * Permite actualizar idIncidencia.
	 * @param idIncidencia, tipo Long.
	 */
	public void setIdIncidencia(Long idIncidencia) {
		this.idIncidencia = idIncidencia;
	}

	/**
	 * Metodo que permite obtener idFicha.
	 * @return idFicha , tipo Long.
	 */
	public Long getIdFicha() {
		return idFicha;
	}

	/**
	 * Permite actualizar idFicha.
	 * @param idFicha, tipo Long.
	 */
	public void setIdFicha(Long idFicha) {
		this.idFicha = idFicha;
	}

	/**
	 * Metodo que permite obtener idEstadoIncidencia.
	 * @return idEstadoIncidencia , tipo Long.
	 */
	public Long getIdEstadoIncidencia() {
		return idEstadoIncidencia;
	}

	/**
	 * Permite actualizar idEstadoIncidencia.
	 * @param idEstadoIncidencia, tipo Long.
	 */
	public void setIdEstadoIncidencia(Long idEstadoIncidencia) {
		this.idEstadoIncidencia = idEstadoIncidencia;
	}

	/**
	 * Metodo que permite obtener idMotivoIncidencia.
	 * @return idMotivoIncidencia , tipo Long.
	 */
	public Long getIdMotivoIncidencia() {
		return idMotivoIncidencia;
	}

	/**
	 * Permite actualizar idMotivoIncidencia.
	 * @param idMotivoIncidencia, tipo Long.
	 */
	public void setIdMotivoIncidencia(Long idMotivoIncidencia) {
		this.idMotivoIncidencia = idMotivoIncidencia;
	}



	/**
	 * Metodo que permite obtener numeroResolucion.
	 * @return numeroResolucion , tipo String.
	 */
	public String getNumeroResolucion() {
		return numeroResolucion;
	}

	/**
	 * Permite actualizar numeroResolucion.
	 * @param numeroResolucion, tipo String.
	 */
	public void setNumeroResolucion(String numeroResolucion) {
		this.numeroResolucion = numeroResolucion;
	}

	/**
	 * Metodo que permite obtener fecResolucion.
	 * @return fecResolucion , tipo Date.
	 */
	public Date getFecResolucion() {
		return fecResolucion;
	}

	/**
	 * Permite actualizar fecResolucion.
	 * @param fecResolucion, tipo Date.
	 */
	public void setFecResolucion(Date fecResolucion) {
		this.fecResolucion = fecResolucion;
	}

	/**
	 * Metodo que permite obtener archivoResolucion.
	 * @return archivoResolucion , tipo String.
	 */
	public String getArchivoResolucion() {
		return archivoResolucion;
	}

	/**
	 * Permite actualizar archivoResolucion.
	 * @param archivoResolucion, tipo String.
	 */
	public void setArchivoResolucion(String archivoResolucion) {
		this.archivoResolucion = archivoResolucion;
	}

	/**
	 * Metodo que permite obtener observacionIncidencia.
	 * @return observacionIncidencia , tipo String.
	 */
	public String getObservacionIncidencia() {
		return observacionIncidencia;
	}

	/**
	 * Permite actualizar observacionIncidencia.
	 * @param observacionIncidencia, tipo String.
	 */
	public void setObservacionIncidencia(String observacionIncidencia) {
		this.observacionIncidencia = observacionIncidencia;
	}

	/**
	 * Metodo que permite obtener fechaInicio.
	 * @return fechaInicio , tipo Date.
	 */
	public Date getFechaInicio() {
		return fechaInicio;
	}

	/**
	 * Permite actualizar fechaInicio.
	 * @param fechaInicio, tipo Date.
	 */
	public void setFechaInicio(Date fechaInicio) {
		this.fechaInicio = fechaInicio;
	}

	/**
	 * Metodo que permite obtener fechaFin.
	 * @return fechaFin , tipo Date.
	 */
	public Date getFechaFin() {
		return fechaFin;
	}

	/**
	 * Permite actualizar fechaFin.
	 * @param fechaFin, tipo Date.
	 */
	public void setFechaFin(Date fechaFin) {
		this.fechaFin = fechaFin;
	}

	/**
	 * Metodo que permite obtener estado.
	 * @return estado , tipo Long.
	 */
	public Long getEstado() {
		return estado;
	}

	/**
	 * Permite actualizar estado.
	 * @param estado, tipo Long.
	 */
	public void setEstado(Long estado) {
		this.estado = estado;
	}

	/**
	 * Metodo que permite obtener auditoria.
	 * @return auditoria , tipo Auditoria.
	 */
	public Auditoria getAuditoria() {
		return auditoria;
	}

	/**
	 * Permite actualizar auditoria.
	 * @param auditoria, tipo Auditoria.
	 */
	public void setAuditoria(Auditoria auditoria) {
		this.auditoria = auditoria;
	}
	
	
}
